# uncompyle6 version 3.2.3
# Python bytecode 3.6 (3379)
# Decompiled from: Python 3.6.8 |Anaconda custom (64-bit)| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)]
# Embedded file name: site-packages\requests\__init__.py
"""
Requests HTTP Library
~~~~~~~~~~~~~~~~~~~~~

Requests is an HTTP library, written in Python, for human beings. Basic GET
usage:

   >>> import requests
   >>> r = requests.get('https://www.python.org')
   >>> r.status_code
   200
   >>> 'Python is a programming language' in r.content
   True

... or POST:

   >>> payload = dict(key1='value1', key2='value2')
   >>> r = requests.post('http://httpbin.org/post', data=payload)
   >>> print(r.text)
   {
     ...
     "form": {
       "key2": "value2",
       "key1": "value1"
     },
     ...
   }

The other HTTP methods are supported - see `requests.api`. Full documentation
is at <http://python-requests.org>.

:copyright: (c) 2017 by Kenneth Reitz.
:license: Apache 2.0, see LICENSE for more details.
"""
import urllib3, chardet, warnings
from .exceptions import RequestsDependencyWarning


def check_compatibility(urllib3_version, chardet_version):
    urllib3_version = urllib3_version.split(".")
    if not urllib3_version != ["dev"]:
        raise AssertionError
    if len(urllib3_version) == 2:
        urllib3_version.append("0")
    major, minor, patch = urllib3_version
    major, minor, patch = int(major), int(minor), int(patch)
    if not major == 1:
        raise AssertionError
    if not minor >= 21:
        raise AssertionError
    if not minor <= 22:
        raise AssertionError
    major, minor, patch = chardet_version.split(".")[:3]
    major, minor, patch = int(major), int(minor), int(patch)
    if not major == 3:
        raise AssertionError
    if not minor < 1:
        raise AssertionError
    if not patch >= 2:
        raise AssertionError


try:
    check_compatibility(urllib3.__version__, chardet.__version__)
except (AssertionError, ValueError):
    warnings.warn(
        ("urllib3 ({0}) or chardet ({1}) doesn't match a supported version!").format(
            urllib3.__version__, chardet.__version__
        ),
        RequestsDependencyWarning,
    )

try:
    from urllib3.contrib import pyopenssl

    pyopenssl.inject_into_urllib3()
except ImportError:
    pass

from urllib3.exceptions import DependencyWarning

warnings.simplefilter("ignore", DependencyWarning)
from .__version__ import __title__, __description__, __url__, __version__
from .__version__ import __build__, __author__, __author_email__, __license__
from .__version__ import __copyright__, __cake__
from . import utils
from . import packages
from .models import Request, Response, PreparedRequest
from .api import request, get, head, post, patch, put, delete, options
from .sessions import session, Session
from .status_codes import codes
from .exceptions import (
    RequestException,
    Timeout,
    URLRequired,
    TooManyRedirects,
    HTTPError,
    ConnectionError,
    FileModeWarning,
    ConnectTimeout,
    ReadTimeout,
)
import logging

try:
    from logging import NullHandler
except ImportError:

    class NullHandler(logging.Handler):
        def emit(self, record):
            pass


logging.getLogger(__name__).addHandler(NullHandler())
warnings.simplefilter("default", FileModeWarning, append=True)
